/**
 * 参数封装
 * http://web.woniuxy.com?id=1&name=xiaowang
 * {id:1,name:"xiaowang"}
 */

function pathParse(url:string){
    //获取到结果id=1&name=xiaowang
    const params = url.substring(url.indexOf("?"))
    const search = new URLSearchParams(params)
    const id = search.get("id")??""
    const name = search.get("name")
    const obj = {id:parseInt(id),name}
    return obj
}
const obj = pathParse("http://web.woniuxy.com?id=1&name=xiaowang")

/**
 * 传递一个日期，传递一个格式
 * 返回对应日期格式
 * replace()
 * yyyy-MM-dd 
 * str.replace("yyyy",date.getFullYear())
 * str.replace("MM",date.month()+1)
 * 
 * yyyy-MM-dd hh:mm:ss
 * yy-MM-dd hh:mm:ss
 * ?:匹配0-1个
 * +:匹配1-多个
 */
function dataFormat(date:Date,format:string):string{
    const obj:any = {
        "M+":date.getMonth() + 1,
        "d+":date.getDate(),
        "h+":date.getHours(),
        "m+":date.getMinutes(),
        "s+":date.getSeconds(),
        "q+":Math.floor((date.getMonth() + 3) / 3)
    }
    // 开始正则匹配。年份
    // const reg = /y+/
    // [0-9a-zA-Z]{5,}
    // const reg2 = new RegExp("y+")
    if(/(y+)/.test(format)){
        // RegExp.$1 == "yyyy"
        console.log(RegExp.$1);
        format = format.replace(RegExp.$1,(date.getFullYear() + "").substr(4-RegExp.$1.length))
    }
    for (const key in obj) {
        //key=M+ d+ h+
        // const res = /(M+)/
        if(new RegExp("("+key+")").test(format)){
            format = format.replace(RegExp.$1,obj[key])
        }
    }

    return format
}
const res = dataFormat(new Date(),"yy/MM/dd hh:mm:ss q")
console.log(res);
